数组
Python
中的数组是list
, 可以通过type函数
查看一下类型
1 | >>> arr = [1, 2, 'a', 'b', True, False] |
数组比较简单,和其他语言基本差不多,有一点区别是Python
中的数组能够兼容不同的数据类型(如上面)。
- 数组长度
之前使用到len()
函数,可以用来求数组元素的个数,也就是数组的长度
1 | >>> arr = [1, 2] |
- 通过
index
获取元素
数组是有序的数据结构,我们可以通过索引
获取数组元素
1 | >>> arr = [1, False] |
也可以通过倒序的方式
获取数组的元素,-1
表示最后一个元素,-2
表示倒数第二个元素,以此类推…
1 | >>> arr = [1, 2, 3] |
- 添加元素
通过append()
函数可以将元素添加到数组的末尾
1 | >>> arr = [1, 2] |
- 插入元素
可以通过insert(index, value)
函数在指定位置插入元素
1 | >>> arr = ["a", "b"] |
- 删除元素
可以通过pop(index)
来删除指定位置(索引
)的元素,如果不添加index
,表示删除数组的最后一个元素
删除最后一个元素
1 | >>> arr = ['a', 'b', 'c'] |
删除指定元素
1 | >>> arr = ['a', 'b', True] |
- 修改元素
Python
中的数组修改元素十分简单,直接将要替换的元素赋值即可,例如
1 | >>> arr = [1, 2, 'a', 'b', True] |
元组
Python
中有另外一种有序列表叫做元组。但是务必记住,元组一旦初始化,内部元素就不能修改,因此,一旦初始化了某个元组,你只能获取,无法改变其元素
1 | >>> tuple = (1, 2, "b") |
很明显,Python解释器
提示我们不能支持元组修改值。
另外,如果只有一个元素的元组,为了避免和日期使用的小括号()
产生歧义,因此元组在初始化时,必须在元素后面添加逗号,
, 否则就不是元组,而是我们日常所使用的变量。
这一点其实作为iOS
开发者应该也知道,Swift
在初始化元组时,如果只有一个元素,也需要添加逗号,
。
1 | >>> tuple = (1,) // 必须添加逗号 |
当然,元组的元素不能修改,指的是元素本身,比如
1 | >>> tuple = (1, 'a', [2,3]) |
嗯?不是说元组的元素不能修改吗?注意,这没有任何问题,上面的元组tuple
的第3
个元素本身是一个数组,当我们做tuple[2][0] = 4
操作的时候,元组的元素有没有变?答案是没有!改变是只是[2,3]
这个数组的元素,这个数组本身的地址(内存空间)是没有改变的,因此元组tuple
的第2
个元素的内存地址也是没有改变的,一定要注意区分。
小结
数组和平时使用的其他语言很相似,根据内置函数调用即可。
元组和数组很类似,但是,元组的元素只能访问,不能修改!